﻿/***************************************************************************
    Copyright (c) Microsoft Corporation. All rights reserved.
    This code is licensed under the Visual Studio 
    Visualization and Modeling SDK license terms.

    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
***************************************************************************/

namespace Microsoft.VisualStudio.ArchitectureTools.CodeRepositoryQuery
{
    /// <summary>
    /// Abstraction common to members
    /// this is a query API. Don't need to set
    /// </summary>
    public interface IMember
    {
        /// <summary>
        /// Name of the member
        /// </summary>
        string Name { get; }

        /// <summary>
        /// Access
        /// </summary>
        AccessType Access { get; }

        /// <summary>
        /// Is the member static?
        /// </summary>
        bool IsStatic { get; }

        /// <summary>
        /// Is the member abstract?
        /// </summary>
        bool IsAbstract { get; }
    }
}
